home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1998 July / EnigmA AMIGA RUN 29 (1998)(G.R. Edizioni)(IT)[!][issue 1998-07 & 08].iso / earcd / utils / datatypes / aiff_dtc.lha / Source / Data.h < prev    next >
C/C++ Source or Header  |  1997-06-08  |  3KB  |  93 lines

  1. /*
  2. **    AIFF DataType
  3. **
  4. **    Written by Olaf `Olsen' Barthel <olsen@sourcery.han.de>
  5. **        Public domain
  6. **
  7. **    :ts=4
  8. */
  9.  
  10. /******************************************************************************/
  11.  
  12. #include <intuition/intuitionbase.h>
  13. #include <intuition/gadgetclass.h>
  14. #include <intuition/classes.h>
  15. #include <intuition/cghooks.h>
  16.  
  17. #include <dos/dosextens.h>
  18.  
  19. #include <exec/execbase.h>
  20. #include <exec/resident.h>
  21. #include <exec/memory.h>
  22.  
  23. #include <devices/clipboard.h>
  24.  
  25. #include <datatypes/soundclass.h>
  26.  
  27. #include <clib/intuition_protos.h>
  28. #include <clib/datatypes_protos.h>
  29. #include <clib/iffparse_protos.h>
  30. #include <clib/utility_protos.h>
  31. #include <clib/alib_protos.h>
  32. #include <clib/exec_protos.h>
  33. #include <clib/dos_protos.h>
  34.  
  35. #include <clib/macros.h>
  36.  
  37. #include <pragmas/exec_sysbase_pragmas.h>
  38. #include <pragmas/intuition_pragmas.h>
  39. #include <pragmas/datatypes_pragmas.h>
  40. #include <pragmas/iffparse_pragmas.h>
  41. #include <pragmas/utility_pragmas.h>
  42. #include <pragmas/dos_pragmas.h>
  43.  
  44. #include <string.h>
  45.  
  46. /******************************************************************************/
  47.  
  48.     // Our custom library structure
  49.  
  50. struct ClassBase
  51. {
  52.     struct Library            LibNode;        // Exec link
  53.     UWORD                    Pad;            // Longword alignment
  54.     Class *                    SoundClass;        // The class this library implements
  55.  
  56.     struct ExecBase *        SysBase;        // Exec library
  57.     struct DosLibrary *        DOSBase;        // Dos library
  58.     struct Library *        IntuitionBase;    // Intuition library
  59.     struct Library *        UtilityBase;    // Utility library
  60.     struct Library *        IFFParseBase;    // IFFParse library
  61.     struct Library *        DataTypesBase;    // DataTypes library
  62.     struct Library *        SuperClassBase;    // Sound datatype
  63.  
  64.     struct SignalSemaphore    LockSemaphore;    // Shared access semaphore
  65.     BPTR                    Segment;        // Library segment pointer
  66. };
  67.  
  68.     // Redirect references to global data into the library base
  69.  
  70. #define SysBase            ClassBase->SysBase
  71. #define DOSBase            ClassBase->DOSBase
  72. #define IntuitionBase    ClassBase->IntuitionBase
  73. #define UtilityBase        ClassBase->UtilityBase
  74. #define IFFParseBase    ClassBase->IFFParseBase
  75. #define DataTypesBase    ClassBase->DataTypesBase
  76. #define SuperClassBase    ClassBase->SuperClassBase
  77. #define LockSemaphore    ClassBase->LockSemaphore
  78. #define SoundClass        ClassBase->SoundClass
  79. #define Segment            ClassBase->Segment
  80.  
  81. /******************************************************************************/
  82.  
  83.     // Preprocessor tricks
  84.  
  85. #define REG(x)    register __ ## x
  86. #define ASM        __asm
  87.  
  88. /******************************************************************************/
  89.  
  90.     // For debugging
  91.  
  92. void kprintf(const char *,...);
  93.